package biblioteca;

import java.util.ArrayList;
import java.util.List;

public class Livro extends Item {
	private String titulo,	autor,	genero;
	private	List<Usuario> listaLidos;
	private Status status;
	private int		ano,
					edicao;
					// ...
	
	public Livro(String titulo, String autor, String genero, int ano, 
int edicao, Usuario usuarioAtual) {
		super(usuarioAtual);
		setTitulo(titulo);
		setAutor(autor);
		setGenero(genero);
		setAno(ano);
		setEdicao(edicao);
		status = Status.LIVRE;
		listaLidos = new ArrayList<Usuario>();
	}
	
	
	public Status getStatus() {
		return status;
	}


	public void setStatus(Status status) {
		this.status = status;
	}


	public Livro getLido(Usuario usuario){
		for(Usuario u: listaLidos){
			if(u.equals(usuario))
				return this;
		}
		return null; 
	}
	public void setLido(Usuario usuario){
		listaLidos.add(usuario);
	}
	
	public String getTitulo() {
		return titulo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	public String getAutor() {
		return autor;
	}

	public void setAutor(String autor) {
		this.autor = autor;
	}

	public String getGenero() {
		return genero;
	}

	public void setGenero(String genero) {
		this.genero = genero;
	}

	
	public int getAno() {
		return ano;
	}
	
	public void setAno(int ano) {
		this.ano = ano;
	}

	public int getEdicao() {
		return edicao;
	}

	public void setEdicao(int edicao) {
		this.edicao = edicao;
	}
	
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (!(obj instanceof Livro))
			return false;
		Livro other = (Livro) obj;
		if (autor == null) {
			if (other.autor != null)
				return false;
		} else if (!autor.equals(other.autor))
			return false;
		if (genero == null) {
			if (other.genero != null)
				return false;
		} else if (!genero.equals(other.genero))
			return false;
		if (titulo == null) {
			if (other.titulo != null)
				return false;
		} else if (!titulo.equals(other.titulo))
			return false;
		return true;
	}

	@Override
	public String toString() {
		return titulo + " - " + autor + " - " + genero;
	}
}
